home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / libraries / ptreplay420.lha / PTReplay / examples / PT-Player.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-30  |  2.2 KB  |  112 lines

  1. /****************************************
  2.  
  3.  PT-Player 2.0   © 1994 BetaSoft
  4.  
  5.  uses PTReplay library also by BetaSoft
  6.  
  7. *****************************************/
  8.  
  9. #include <exec/types.h>
  10. #include <dos/dos.h>
  11. #include <libraries/asl.h>
  12.  
  13. #include <clib/exec_protos.h>
  14. #include <clib/dos_protos.h>
  15. #include <clib/intuition_protos.h>
  16. #include <clib/gadtools_protos.h>
  17. #include <clib/asl_protos.h>
  18.  
  19. #include <pragmas/exec_pragmas.h>
  20. #include <pragmas/dos_pragmas.h>
  21. #include <pragmas/intuition_pragmas.h>
  22. #include <pragmas/gadtools_pragmas.h>
  23. #include <pragmas/asl_pragmas.h>
  24.  
  25. #include <string.h>
  26.  
  27. #include "control.h"
  28. #include "/include/ptreplay_protos.h"
  29. #include "/include/ptreplay_pragmas.h"
  30. #include "/include/ptreplay.h"
  31.  
  32. struct Library *PTReplayBase;
  33.  
  34. struct Module *Mod = NULL;
  35. struct FileRequester *FileReq = NULL;
  36.  
  37. STRPTR vstr = "$VER: PT-Player 2.0 (28.12.94)";
  38.  
  39. BYTE StopBit,PatternBit;
  40. BOOL Loop=TRUE,Paused=FALSE;
  41.  
  42. struct TagItem FRTags[]=
  43. {
  44.     ASLFR_SleepWindow, TRUE,
  45.     ASLFR_TitleText, (ULONG)"Load Module",
  46.     ASLFR_PositiveText, (ULONG)"Load",
  47.     ASLFR_InitialPattern, (ULONG)"mod.#?",
  48.     ASLFR_DoPatterns,TRUE,
  49.     ASLFR_RejectIcons, TRUE,
  50.     TAG_DONE
  51. };
  52.  
  53. void MainRoutine(void)
  54. {
  55. BOOL Running=TRUE;
  56. ULONG Flags,WinMask,StopMask,PatternMask;
  57. UBYTE Pos;
  58.  
  59.     WinMask=1L<<ControlWnd->UserPort->mp_SigBit;
  60.     StopMask=1L<<StopBit;
  61.     PatternMask=1L<<PatternBit;
  62.  
  63.     while(Running)
  64.     {
  65.         Flags=Wait(WinMask|StopMask|PatternMask);
  66.  
  67.         if(Flags & WinMask)
  68.             Running=HandleControlIDCMP();
  69.  
  70.         if(Flags & StopMask)
  71.             if(!Loop)
  72.                 StopClicked();
  73.  
  74.         if(Flags & PatternMask)
  75.         {
  76.             Pos=PTSongPos(Mod);
  77.             GT_SetGadgetAttrs(ControlGadgets[GD_Pos], ControlWnd, NULL,
  78.                                 GTNM_Number, Pos, TAG_DONE);
  79.         }
  80.     }
  81. }
  82.  
  83. int main(int argc, char **argv)
  84. {
  85.     if(PTReplayBase = OpenLibrary("ptreplay.library",4L))
  86.     {
  87.         if(FileReq = AllocAslRequest(ASL_FileRequest, FRTags))
  88.         {
  89.             if(!SetupScreen())
  90.             {
  91.                 if(!OpenControlWindow())
  92.                 {
  93.                     StopBit=AllocSignal(-1);
  94.                     PatternBit=AllocSignal(-1);
  95.  
  96.                     if((StopBit != -1)&(PatternBit != -1))
  97.                         MainRoutine();
  98.  
  99.                     FreeSignal(StopBit);
  100.                     FreeSignal(PatternBit);
  101.                 }
  102.                 CloseControlWindow();
  103.             }
  104.             CloseDownScreen();
  105.  
  106.             FreeAslRequest(FileReq);
  107.         }
  108.         CloseLibrary(PTReplayBase);
  109.     }
  110.     return(0l);
  111. }
  112.